﻿using Abp.Application.Services;
using Abp.Application.Services.Dto;
using Magicodes.Admin.SFOrders.Dto;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;

namespace Magicodes.Admin.SFOrders
{
    public  interface ISFOrderAppService: IApplicationService
    {
        Task ImportFromExcel(IList<ImportSFOrderInputDto>  importSFOrderInputDtos);
        Task<PagedResultDto<SFOrderListDto>> GetPageListAsync(GetSFOrderInput input);

        Task DeleteAsync(EntityDto<long> input);

        /// <summary>
        /// 直接打印
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<string> Print(long id);
        /// <summary>
        /// 获取打印的base64图片
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<string> GetPrintImg(long id);

        Task<string> GetPrintJson(long id);
        /// <summary>
        /// 路由信息
        /// </summary>
        /// <param name="orderId"></param>
        /// <returns></returns>
        Task<List<SFOrderRouteListDto>> GetRoutePageListAsync(long orderId);
        /// <summary>
        /// 订单状态
        /// </summary>
        /// <param name="orderId"></param>
        /// <returns></returns>
        Task<SFOrderStateDto> GetOrderStateAsync(long orderId);

        Task<List<WaybillDto>> GetWaybillPrintInfo(long orderId);
    }
}
